package com.bsoft.gol.hcs.clinical.bean.response;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author tongtp
 * @version v0.1
 * @className PrescriptionInformationResponse
 * @description 处方信息
 * @create 2019-06-19 13:50
 **/
@XmlRootElement(name = "PrescriptionList")
public class PrescriptionInformationResponse implements Serializable {

    private String hospitalCode;

    private String recipeOrganization;

    private String hospitalName;

	private Integer updateSign;

	private Integer drugType;

	private String prescriptionId;

	private String prescriptionNumber;

	private String creationTime;

	private String expirationDate;

	private BigDecimal totalPrice;

	private Integer numberOfPackets;

	private Integer boilSign;

	private Integer auditStatus;

	private String auditor;

	private String auditMind;

	private String payStatus;
	private String doctorId;

	private String doctorName;

	private String localDoctorId;

	private String auditDoctorId;

	private String auditLocalDoctorId;

	private String epitaxialOrganizationId;

	private String epitaxialOrganizationName;

	private String remark;
	private String idCard;

	private List<PrescriptionDrugResponse> prescriptionDrugList;


	@XmlElement(name = "IdCard")
	public String getIdCard() {
		return idCard;
	}

	public void setIdCard(String idCard) {
		this.idCard = idCard;
	}

	public String getEpitaxialOrganizationName() {
		return epitaxialOrganizationName;
	}

	public void setEpitaxialOrganizationName(String epitaxialOrganizationName) {
		this.epitaxialOrganizationName = epitaxialOrganizationName;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

    @XmlElement(name = "PrescriptionDoctor")
	public String getDoctorId() {
		return doctorId;
	}

	public void setDoctorId(String doctorId) {
		this.doctorId = doctorId;
	}

    @XmlElement(name = "PrescriptionDoctorName")
	public String getDoctorName() {
		return doctorName;
	}

	public void setDoctorName(String doctorName) {
		this.doctorName = doctorName;
	}

	public String getLocalDoctorId() {
		return localDoctorId;
	}

	public void setLocalDoctorId(String localDoctorId) {
		this.localDoctorId = localDoctorId;
	}

	public String getAuditDoctorId() {
		return auditDoctorId;
	}

	public void setAuditDoctorId(String auditDoctorId) {
		this.auditDoctorId = auditDoctorId;
	}

	public String getAuditLocalDoctorId() {
		return auditLocalDoctorId;
	}

	public void setAuditLocalDoctorId(String auditLocalDoctorId) {
		this.auditLocalDoctorId = auditLocalDoctorId;
	}

	public String getPayStatus() {
		return payStatus;
	}

	public void setPayStatus(String payStatus) {
		this.payStatus = payStatus;
	}

	public BigDecimal getTotalPrice() {
		return totalPrice;
	}

	public void setTotalPrice(BigDecimal totalPrice) {
		this.totalPrice = totalPrice;
	}

	@XmlElement(name = "DrugType")
	public Integer getDrugType() {
		return drugType;
	}

	public void setDrugType(Integer drugType) {
		this.drugType = drugType;
	}

	public Integer getNumberOfPackets() {
		return numberOfPackets;
	}

	public void setNumberOfPackets(Integer numberOfPackets) {
		this.numberOfPackets = numberOfPackets;
	}

	public Integer getBoilSign() {
		return boilSign;
	}

	public void setBoilSign(Integer boilSign) {
		this.boilSign = boilSign;
	}

	@XmlElementWrapper(name = "PrescriptionDrugs")
	@XmlElement(name = "PrescriptionDrug")
	public List<PrescriptionDrugResponse> getPrescriptionDrugList() {
		return prescriptionDrugList;
	}

	public void setPrescriptionDrugList(List<PrescriptionDrugResponse> prescriptionDrugList) {
		this.prescriptionDrugList = prescriptionDrugList;
	}

	@XmlElement(name = "AuditStatus")
	public Integer getAuditStatus() {
		return auditStatus;
	}

	public void setAuditStatus(Integer auditStatus) {
		this.auditStatus = auditStatus;
	}

	@XmlElement(name = "Auditor")
	public String getAuditor() {
		return auditor;
	}

	public void setAuditor(String auditor) {
		this.auditor = auditor;
	}

	@XmlElement(name = "AuditMind")
	public String getAuditMind() {
		return auditMind;
	}

	public void setAuditMind(String auditMind) {
		this.auditMind = auditMind;
	}

	@XmlElement(name = "PrescriptionRecordId")
	public String getPrescriptionId() {
		return prescriptionId;
	}

	public void setPrescriptionId(String prescriptionId) {
		this.prescriptionId = prescriptionId;
	}

	@XmlElement(name = "RecipeNumber")
    public String getPrescriptionNumber() {
        return prescriptionNumber;
    }

    public void setPrescriptionNumber(String prescriptionNumber) {
        this.prescriptionNumber = prescriptionNumber;
    }


	@XmlElement(name = "PrescriptionDate")
    public String getCreationTime() {
        return creationTime;
    }

    public void setCreationTime(String creationTime) {
        this.creationTime = creationTime;
    }

    public String getExpirationDate() {
        return expirationDate;
    }

    public void setExpirationDate(String expirationDate) {
        this.expirationDate = expirationDate;
    }

    @XmlElement(name = "VisitOrganization")
    public String getHospitalCode() {
        return hospitalCode;
    }

    public void setHospitalCode(String hospitalCode) {
        this.hospitalCode = hospitalCode;
    }


	@XmlElement(name = "VisitOrganizationName")
    public String getHospitalName() {
        return hospitalName;
    }

    public void setHospitalName(String hospitalName) {
        this.hospitalName = hospitalName;
    }

    @XmlElement(name = "UpdateSign")
    public Integer getUpdateSign() {
        return updateSign;
    }

    public void setUpdateSign(Integer updateSign) {
        this.updateSign = updateSign;
    }

	@XmlElement(name = "RoamOrganization")
	public String getEpitaxialOrganizationId() {
		return epitaxialOrganizationId;
	}

	public void setEpitaxialOrganizationId(String epitaxialOrganizationId) {
		this.epitaxialOrganizationId = epitaxialOrganizationId;
	}

	@XmlElement(name = "RecipeOrganization")
	public String getRecipeOrganization() {
		return recipeOrganization;
	}

	public void setRecipeOrganization(String recipeOrganization) {
		this.recipeOrganization = recipeOrganization;
	}


	@Override
	public boolean equals(Object o) {
		if (this == o) {
            return true;
        }
		if (!(o instanceof PrescriptionInformationResponse)) {
            return false;
        }

		PrescriptionInformationResponse that = (PrescriptionInformationResponse) o;

		if (hospitalCode != null ? !hospitalCode.equals(that.hospitalCode) : that.hospitalCode != null) {
            return false;
        }
		if (recipeOrganization != null ? !recipeOrganization.equals(that.recipeOrganization) : that.recipeOrganization != null) {
            return false;
        }
		if (hospitalName != null ? !hospitalName.equals(that.hospitalName) : that.hospitalName != null) {
            return false;
        }
		if (updateSign != null ? !updateSign.equals(that.updateSign) : that.updateSign != null) {
            return false;
        }
		if (drugType != null ? !drugType.equals(that.drugType) : that.drugType != null) {
            return false;
        }
		if (prescriptionId != null ? !prescriptionId.equals(that.prescriptionId) : that.prescriptionId != null) {
            return false;
        }
		if (prescriptionNumber != null ? !prescriptionNumber.equals(that.prescriptionNumber) : that.prescriptionNumber != null) {
            return false;
        }
		if (creationTime != null ? !creationTime.equals(that.creationTime) : that.creationTime != null) {
            return false;
        }
		if (expirationDate != null ? !expirationDate.equals(that.expirationDate) : that.expirationDate != null) {
            return false;
        }
		if (totalPrice != null ? !totalPrice.equals(that.totalPrice) : that.totalPrice != null) {
            return false;
        }
		if (numberOfPackets != null ? !numberOfPackets.equals(that.numberOfPackets) : that.numberOfPackets != null) {
            return false;
        }
		if (boilSign != null ? !boilSign.equals(that.boilSign) : that.boilSign != null) {
            return false;
        }
		if (auditStatus != null ? !auditStatus.equals(that.auditStatus) : that.auditStatus != null) {
            return false;
        }
		if (auditor != null ? !auditor.equals(that.auditor) : that.auditor != null) {
            return false;
        }
		if (auditMind != null ? !auditMind.equals(that.auditMind) : that.auditMind != null) {
            return false;
        }
		if (payStatus != null ? !payStatus.equals(that.payStatus) : that.payStatus != null) {
            return false;
        }
		if (doctorId != null ? !doctorId.equals(that.doctorId) : that.doctorId != null) {
            return false;
        }
		if (doctorName != null ? !doctorName.equals(that.doctorName) : that.doctorName != null) {
            return false;
        }
		if (localDoctorId != null ? !localDoctorId.equals(that.localDoctorId) : that.localDoctorId != null) {
            return false;
        }
		if (auditDoctorId != null ? !auditDoctorId.equals(that.auditDoctorId) : that.auditDoctorId != null) {
            return false;
        }
		if (auditLocalDoctorId != null ? !auditLocalDoctorId.equals(that.auditLocalDoctorId) : that.auditLocalDoctorId != null) {
            return false;
        }
		if (epitaxialOrganizationId != null ? !epitaxialOrganizationId.equals(that.epitaxialOrganizationId) : that.epitaxialOrganizationId != null) {
            return false;
        }
		if (remark != null ? !remark.equals(that.remark) : that.remark != null) {
            return false;
        }
		return prescriptionDrugList != null ? prescriptionDrugList.equals(that.prescriptionDrugList) : that.prescriptionDrugList == null;
	}

	@Override
	public int hashCode() {
		int result = hospitalCode != null ? hospitalCode.hashCode() : 0;
		result = 31 * result + (recipeOrganization != null ? recipeOrganization.hashCode() : 0);
		result = 31 * result + (hospitalName != null ? hospitalName.hashCode() : 0);
		result = 31 * result + (updateSign != null ? updateSign.hashCode() : 0);
		result = 31 * result + (drugType != null ? drugType.hashCode() : 0);
		result = 31 * result + (prescriptionId != null ? prescriptionId.hashCode() : 0);
		result = 31 * result + (prescriptionNumber != null ? prescriptionNumber.hashCode() : 0);
		result = 31 * result + (creationTime != null ? creationTime.hashCode() : 0);
		result = 31 * result + (expirationDate != null ? expirationDate.hashCode() : 0);
		result = 31 * result + (totalPrice != null ? totalPrice.hashCode() : 0);
		result = 31 * result + (numberOfPackets != null ? numberOfPackets.hashCode() : 0);
		result = 31 * result + (boilSign != null ? boilSign.hashCode() : 0);
		result = 31 * result + (auditStatus != null ? auditStatus.hashCode() : 0);
		result = 31 * result + (auditor != null ? auditor.hashCode() : 0);
		result = 31 * result + (auditMind != null ? auditMind.hashCode() : 0);
		result = 31 * result + (payStatus != null ? payStatus.hashCode() : 0);
		result = 31 * result + (doctorId != null ? doctorId.hashCode() : 0);
		result = 31 * result + (doctorName != null ? doctorName.hashCode() : 0);
		result = 31 * result + (localDoctorId != null ? localDoctorId.hashCode() : 0);
		result = 31 * result + (auditDoctorId != null ? auditDoctorId.hashCode() : 0);
		result = 31 * result + (auditLocalDoctorId != null ? auditLocalDoctorId.hashCode() : 0);
		result = 31 * result + (epitaxialOrganizationId != null ? epitaxialOrganizationId.hashCode() : 0);
		result = 31 * result + (remark != null ? remark.hashCode() : 0);
		result = 31 * result + (prescriptionDrugList != null ? prescriptionDrugList.hashCode() : 0);
		return result;
	}
}
